#ifndef UTILS_H_
#define UTILS_H_

#include <stdio.h>

#define U 0   //Undef
#define I 1   //Int
#define F 2   //Float
#define S 3   //String
#define B 4   //Booleen
#define Fun 5 //Fonction
#define C 6   //Class

struct r{
    char reg[1000];//Registre dans lequel se trouve le dernier résultat calculé (ça pourrait être un int)
    char inst[1000];//Suite d'instructions permettant d'arriver à ce résultat
    int type;
    char id[100];
};

int yylex(void);
void yyerror(char *);

char *to_string(int);
char *replace_str(char *, char *, char *);
void pop_char(char *);
void print_fct(char *, char *, char *, char *, char *);
void print_calc(struct r *, struct r *, struct r *, char *, char*, int *);
void print_init(struct r *, char *, char *, int *);
void copy(struct r *, struct r *);
void print_end(FILE * );
void print_begin(FILE * );


#endif